package Modelo.ObjetosDAO;

  import java.util.Date;
import java.util.Vector;

import LogicaDeNegocio.AdministracionFechas;
import LogicaDeNegocio.GestionDeLicencias;
import LogicaDeNegocio.GestionDeTitulares;
import LogicaDeNegocio.GestionDeUsuarios;
import LogicaDeNegocio.GestionSistema;
import Modelo.Entidades.GrupoSanguineo;
import Modelo.Entidades.Rol;
import Modelo.Entidades.TipoDocumento;
import Modelo.Entidades.Titular;
import Modelo.Entidades.Usuario;
import Modelo.GestionDeBD.GestorBD;
//import Modelo.ObjetosDAO.Implementaciones.ClaseLicenciaDAO;
import Modelo.ObjetosDAO.Implementaciones.LicenciaDAO;
//import Modelo.ObjetosDAO.Implementaciones.RolDAO;
import Modelo.ObjetosDAO.Implementaciones.SistemaDAO;
import Modelo.ObjetosDAO.Implementaciones.TitularDAO;
import Modelo.ObjetosDAO.Implementaciones.UsuarioDAO;
import Modelo.ObjetosDAO.Interfases.ISistemaDAO;

//Usen esta clase, para probar cosas. Fuera de los jUnit

public class Main {

	@SuppressWarnings("static-access")
	public static void main(String[] args) throws Throwable {
		
		AdministracionFechas admFechas = AdministracionFechas.getInstance();
		
		Date fechaActual = admFechas.getFechaActualEnDate();
		String cumple = "25-10-1984";
		Date fechaNac = admFechas.deStringToDate(cumple);
		Date fechaNacEnAnio = fechaNac;
		
		int anioVencimiento;
		
		int vigencia = 5;
		
		java.sql.Date resultadoDate = new java.sql.Date(fechaActual.getYear(), fechaActual.getMonth(), fechaActual.getDate());
		
		//resultadoDate = admFechas.sumarFechasDias(resultadoDate, vigencia * 365);
		anioVencimiento = fechaActual.getYear() + vigencia;
		fechaNacEnAnio.setYear(anioVencimiento);
		int diasDentroDelAnio = admFechas.diferenciasDeFechasDias(fechaActual, fechaNacEnAnio);
		
		resultadoDate = admFechas.sumarFechasDias(resultadoDate, diasDentroDelAnio);
		
		String fechaResultado = admFechas.getFechaToString(resultadoDate);
		
		System.out.println("Fecha: " + fechaResultado);
		

//		GestionDeLicencias tester = GestionDeLicencias.getInstance();
//		AdministracionFechas admFechas = AdministracionFechas.getInstance();
//		
//		ClaseLicencia licencia = new ClaseLicencia("A", 1);
//		
//		Date fechaNac = new Date();
//		
//		String fechaNacString = "14/11/1997";
//	
//		TipoDocumento tipoDocumento = new TipoDocumento(1, "DNI");
//		GrupoSanguineo grupoSanguineo = new GrupoSanguineo(1, "+", "0");
//		
//		fechaNac = admFechas.deStringToDate(fechaNacString);
//		Titular titular = new Titular("Bruno", "Gnoatto", "Lalal", fechaNac , "31115172", tipoDocumento, grupoSanguineo, true, licencia);
//		
//		tester.calcularVigencia(titular, licencia);
		
		/*SistemaDAO sistema=new SistemaDAO();
		Vector<Tipo_Documento> lista=sistema.getDocumentos();
		for (int i = 0; i < lista.size(); i++) 
			System.out.println(lista.get(i));*/
		

		/*
		SistemaDAO sistema2=new SistemaDAO();
		Vector<Grupo_Sanguineo> lista2=sistema2.getGruposSanguineos();
		for (int i = 0; i < lista2.size(); i++) 
			System.out.println(lista2.get(i));
		*/

		/*
		Rol rol=new Rol("ADMINISTRADOR",1);
		Usuario user=new Usuario(134, "p1", "pass", rol);
		
		UsuarioDAO udao=new UsuarioDAO();
		udao.insertUsuario(user);
		System.out.println(user.toString());
*/
		/*
		UsuarioDAO ud1=new UsuarioDAO();
		Usuario u1=new Usuario(54, "esteban", "esteban", null);
		u1=ud1.isUsuario(u1);
		System.out.println(u1.toString());
		

		UsuarioDAO ud2=new UsuarioDAO();
		Usuario u2=new Usuario(54, "gabriel", "esteban", null);
		u2=ud2.isUsuario(u2);
		System.out.println(u2.toString());
		*/
		
		/*TitularDAO td=new TitularDAO();
		Titular t=new Titular("holis", "lazzaroni", "santa fe 3010", new Date(1991, 2, 15), "36014238",  new TipoDocumento(1, "caio"), new GrupoSanguineo(1, null, null),22 ,true , new ClaseLicencia("A",1));
		
		t=td.registrarTitular(t);
		System.out.println(t.toString());
		*/
		/*
		CostoVigenciaDAO cv = new CostoVigenciaDAO();
		ClaseLicencia  clase = new ClaseLicencia ("B",2);
		System.out.printf ("costo: %d",cv.obtenerCostoLicencia(clase,2));*/
		/*
		Vector<Rol>roles = new Vector<Rol>();
		RolDAO rd = new RolDAO();
		System.out.println(rd.cargarRoles().get(0).getDescripcion());*/
		
		/*UsuarioDAO log = new UsuarioDAO();
		Usuario user = new Usuario ("esteban","esteban",null);
		System.out.println(log.isUsuario(user).getNombre());*/
		

		/*ClaseLicenciaDAO cl = new ClaseLicenciaDAO();
		System.out.println(cl.cargarLicencias().get(1).getDescripcion());*/
	}

}
